spinlock: Add assertions for lock_irq() variants.
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 22 Oct 2008 14:07:30 +0000 (15:07 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 22 Oct 2008 14:07:30 +0000 (15:07 +0100)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/common/spinlock.c

index 125e12d1bf3978d90206aaf76c34821f85f92604..438e51deb8d1a5f74fb3fd98decd6d866e029ef3 100644 (file)
@@ -9,6 +9,7 @@ void _spin_lock(spinlock_t *lock)
 
 void _spin_lock_irq(spinlock_t *lock)
 {
+    ASSERT(local_irq_is_enabled());
     local_irq_disable();
     _raw_spin_lock(&lock->raw);
 }
@@ -96,6 +97,7 @@ void _read_lock(rwlock_t *lock)
 
 void _read_lock_irq(rwlock_t *lock)
 {
+    ASSERT(local_irq_is_enabled());
     local_irq_disable();
     _raw_read_lock(&lock->raw);
 }
@@ -132,6 +134,7 @@ void _write_lock(rwlock_t *lock)
 
 void _write_lock_irq(rwlock_t *lock)
 {
+    ASSERT(local_irq_is_enabled());
     local_irq_disable();
     _raw_write_lock(&lock->raw);
 }